文档说明:客户需要评估 STM32U5+SPI LCD 整屏刷新时的显示效果。一般 SPI LCD 都内置了GRAM,在使用 TouchGFX 时都会选用部分帧缓冲以节省内存。客户需要整屏刷新,并尽量节省内存,则需要使用单帧缓冲的方式。
文档说明:目前 USBx host standalone 的官方示例较少,仅有一个。不过使用 CubeMX 可以快速地生成USBx Host 相关类的示例工程,会很方便大家的开发。这里以 NUCLEO-H563 为例,实现USBx Host HID 类,大家可以以此为参考移植到其他的 USBx Host 类。
文档说明:这个例子中,使用了 I/O 口作为复用引脚时,其 I/O 引脚仍然还是连接到内部其他电 路的,包括连接到输入数据寄存器,连接到 EXTI 电路。所以,我们可以利用这种连接来 帮助我们实现一些特殊的功能。
文档说明:是协助客户解 决这个问题,提供给客户不带 PD 功能的虚拟串口工程。
文档说明:细心的用户可能会发现,使用到我们的 STM32CubeMX 6.9.1 对 STM32H5 的USB 外设进行配置的时候,只能用 USBX,而以前的 Classic USB 库不能选择了。 由于 USBx 是基于 Threadx OS 的,客户更多的希望是裸机版本的,所以在这儿给大家提供一个移植的方法。
文档说明:某客户开发一款高精度工业测量仪器,打算使用 STM32H7+外置高精度 ADC 采样的分离方案来实现。客户选取了一款所属行业内比较通用的 ADC 采样芯片。在读取该 ADC芯片手册后,客户发现该款 ADC 采样芯片使用 MCU 标准 SPI 与之通信存在问题,手册里面也推荐使用 DSP/FPGA 的来实现,客户一下就犯难了。为了降低成本和开发周期,客户想使用 MCU 来替代 DSP/FPGA 与 ADC 采样芯片的高速通信。
文档说明:某客户在使用 STM32U5 开发一款产品时需要使用到 USB Custom 进行双向通信,并反馈STM32U5 使用的是 Azure USBx 协议栈,不再支持 ST USB device 库。客户表示只熟悉 STUSB Device 库,对 USBx 协议栈与 API 没有任何使用经验。查阅目前所有 USBx 的例程,发现目前 USBx 均没有可参考的 Custom HID 双向通信范例,客户希望提供使用 USBx HID 进行双向通信的例程,这里简单介绍下利用 CubeMx 创建工程的实现过程。
文档说明:有客户反馈,他最近在做一个项目用到 STM32L051 这款单片机。平常的 USART 串口传输是 8 位数据,但是他的项目需要用串口传输 9 位数据。当设置为 8 位数据时,串口响应中断正常。但是,当设置为 9 位数据时,串口就不产生中断了。USART2 的 ISR 寄存器 RXNE 位被置1,RDR 寄存器接收到了数据,就是不产生中断,数据也读不出来。请问是不是 HAL 库函数哪里出了bug?另外,客户还补充说,使用 STM32CubeMX 进行配置并创建的工程代码。
文档说明:客户反映 STM32L011 PA6 空片时进入 system memory 内部自带的 bootloader后,GPIO 的实际测试状态同 AN2606 中描述 push-pull pull-down 有出入,实际测试为高电平。
文档说明:这次我们介绍另外一种方法,在 DMA 方式下利用硬件接收超时中断(Receiver timeout interrupt)实现不定长数据的接收。
文档说明:I2C 的时钟延展功能是可选功能,主机可以不支持该功能,但从机需要相应的适配。未来 ST公司的 STM32 Cube 库后续有计划增加对时钟延展功能的支持。
文档说明:本文主要介绍使用 STM32U599 USB_HS 开发 USBx 应用时的几个问题点,详细配置和移植过程,读者可自行参考本文附件中的工程源码。
文档说明:客户的产品使用的是 STM32L471VET6, 通过串口外部连接一个 zigbee 模块, 波特率 115200bps.。出现问题时的具体情况是, 从 MCU 发出的串口波形检测到一个位的宽度明显不正确, 导致外部的 zigbee 模式识别不到。
文档说明:客户在项目开发中使用 STM32F427ZGT6 的 SPI 连接外部 Flash 时,发现在常温下能正常读写,但是在高温下一段时间后(大概 5 分钟左右)出现读写异常的情况。读写异常时发生在发送 0x5 指令后,返回数据通过软件读取的是 0,而硬件抓取的是 1 。同时也发现同一份代码,同样硬件,如果 flash 换成别的厂家的,在同样温度条件下又没有出现读写异常。
文档说明:STM32 开发者在实现 CDC 类虚拟串口与 PC 主机通信过程中,有时会遇到点麻烦而不得其解。那就是当主机端单次发送的数据不超过 64 字节时,接收正常。一旦发送数据量大于 64 字节时就接收失败,总是出现丢包现象,似乎只能接收 64 字节以内的数据。网上有人干脆建议主机每次发送不要超过 64字节,当然,也有人提及要作分包处理但没具体实现代码可以参考。这个问题在网络上也有些人在试图寻求答案。
文档说明:对于使用 STM32 DCMI 开发相机应用的客户,经常有以下问题:STM32 DCMI 最大支持的像素时钟是多少?STM32F4/F7/H7/U5 能支持 1280×720 的分辨率吗?最大的帧率是多少?如何判断所设计的应用产生的带宽是否能充足?相机输出是选择 8 位、10位、12 位、还是 14 位?针对这些问题,本文档从 DCMI 使用的几个方面,介绍了 STM32 DCMI 在连续抓取模式下带宽的估算,以及提升性能需要注意的事项。客户在设计相机应用时可以参考。
文档说明:客户在 STM32F401RET6 中使用到了 USB 的虚拟串口功能。要求提供一个在STM32Cube 中实现虚拟串口进行数据环回测试功能的范例程序。因为在我们目前所提供范例程序中,并没有适合客户需求的范例,所以我们在 STM32CubeMX 中创建一个范例程序给客户进行参考。
文档说明:本文档描述了在STOP0/1 模式下使用USART需要注意的地方。
文档说明:客户反馈,使用STM32F446 的高速USB 外设,即USB_OTG_HS 外设,且使用内置全速PHY。客户的产品USB 用做device,自定义HID 类,当连接带UOS 操作系统的HOST 时,会发现当前数据并没有成功发送,但是会发送上一次的数据,即发送数据出现”迟滞”现象。但在Windows 下却没有出现此类问题。另外,客户同时还使用了STM32F446 上的USB_OTG_FS 外设,且此外设做同样的事一切正常,目前此问题只出现在USB_OTG_HS 外设上。
文档说明:STM32H7 以太网的MMC(MAC management counter)中断是个有点特别的中断。特殊之处在于它是默认使能。如果我们在代码里不针对MMC 进行相关处理,就会造成一些异常现象。我们先来看一个真实的客户案例。
文档说明:多次插拔后USB无法再工作
文档说明:STM32MCU 的以太网外设提供多种数据包过滤的模式。
文档说明:在 STM32 以太网调试中经常会遇到“设备接收不到数据”,或者“设备发出的数据对端设备收不到”之类的问题。遇到这类 问题首先要做的是定位问题发生的部位,这样做的好处就是可以指明下一步调试的方向,缩小分析的范围。
文档说明:前不久接到一个客户的问题。在 H743 上需要通过 UDP 发送大的数据包,涉及到 IP 分包的问题。他们在测试的过程中遇到了 只要发送 6KB 的 UDP 数据包就会出现 hardfault 的问题。拿到这个问题的时候,调试得到了和客户一样的现象,程序进入 hardfault,并且是由 Lwip 协议栈的 ip_reass_free_complete_datagram 函数触发。后经过一番调试,搞清楚了问题的原 因,要说清楚,我们得先来看看 Lwip 中 IP 分包的实现。
文档说明:有STM32用户反映,他使用STM32F4系列芯片进行开发,通过STM32CubeMx配置初始化代码,使用了UART的DMA传输。但他发现DMA根本不工作。后来他无意中发现,是因为他在用户代码里不经意地调整过UART外设和DMA外设初始化代码的前后顺序,当他重新调整二者的先后顺序后就一切正常了。他想知道这个顺序是怎么影响DMA功能的。
文档说明:我们之前经常有讲到过如何通过USB的DFU方式来对固件进行升级,在示例中我们通常是通过一个按键来触发APP跳转到BOOT从而进入到DFU升级模式。但是也有一种情况,客户的环境是没有任何按键或者其它触发条件,只有一个USB口连接运行windows操作系统的上位机。这不,前不久就碰到这么个客户,下位机MCU端仅仅只有一个USB口连接上位机,且MCU端与上位机之间的USB是常连的,并不能通过USB的拔插操作来触发APP的跳转,在此情况下,我们又该如何来实现客户的需求?
文档说明:根据客户反馈,使用基于STM32L496的Nucleo板的LPUART 做打印输出时,电脑端始终没法出现任何信息。。根据该开发板使用手册说明,外设LPUART的TX/RX脚【PG7/PG8】默认与开发板STLINK部分的VCP端口相连,这样做可以省去飞线的麻烦,更不需要外接USB-UART转换器件。本文档对该问题做了解答。
文档说明:本文针对STM32F767的USB_OTG_FS模块工作在Host模式下的挂起与恢复以及远程唤醒方面的问题进行讨论。
文档说明:本文以STM32F405为例,详细说明上HID_CDC复合设备在WIN10的识别问题。
文档说明:在音频开发中,I2S(Inter-IC Sound)接口被广泛采用。大部分STM32集成了I2S接口。本文主要为了让STM32使用者了解I2S音频接口,及快速实现I2S接口的音频应用开发。 首先,对STM32的I2S接口进行简单介绍,然后描述了几种常见I2S音频应用架构及每种架构音频部分的电路图,最后围绕每种架构给出实现例,以便读者进行参考理解。其中,实现例会围绕STM32CubeMX展开,以便开发者能够参考并快速、简便地实现软件开发。除此之外,在Cube软件包中有I2S外设应用例程,提供了更完善的实现参
文档说明:STM32提供了丰富的接口资源,其中包括USB FS、USB HS、OTG FS和OTG HS。对于高速USB,由于信号速率相对较高。在开发过程中,会对高速USB信号质量进行测试,例如运用广泛的眼图测试。STM32的高速USB/OTG IP遵循USB 2.0规范,能够配合实现眼图等信号质量测试项。本文中,首先介绍眼图等信号质量测试的实现框架,然后以Cube软件包中USB 设备类的HID例程为基础,提供软件层面的修改。最后通过USB官方提供的HSETT工具,一步一步呈现如何使STM32实现的USB设备进入测
文档说明:在进行USB开发的过程中,有多个客户反馈,USB传输数据时出现卡顿现象。本文将针对这一问题进行分析。
文档说明:某客户准备用STM32F205VCT6做USB FS Device设备时,配置PA9作为普通通用的GPIO口(外部上拉电阻10K到电压3.3V,NO PU/PD),在项目测试的时候发现,该引脚上的电压只有2V。
文档说明:在参考Cube软件包中I2C例程后, 根据应用需要新增了一路I2C接口,结果新增I2C无法收发数据。本文主要对问题进行描述,分析产生原因,提供解决方法。
文档说明:在Cube软件包中,为不同系列MCU、不同外设提供了对应的例程方便开发参考。其中,针对STM324xG-EVAL平台提供了UART中断发送接收的例程。开发者参考了这个例程进行UART功能开发,并且为了实现不间断的接收功能,在接收回调函数中,再次调用中断接收函数。在这种情况下,出现了例程执行异常。本文分析了这种情况出现原因及解决方法。
文档说明:Cube软件包的提供,极大的降低了开发难度。使用者在开发的过程中,只需参考Cube包中提供的例程就能快速的实现对应功能开发。开发者为了快速开发UART功能,参考Cube包中的UART例程,并根据应用情况,扩展了另一组UART接口。但是在应用过程中,发现两路UART不能共存。本文分析了这种情况出现的原因。
文档说明:本篇文章主要是对STM8Lxxxx 在I2C 通信调试中遇到的第一次通信正常,但第二次通信失败问题的分析和处理。
文档说明:此文延续之前相同文章的话题,是对上篇文章的补充,之所以会有此文,主要是之前发现问题是在STM32F4上,解决方案也是基于CubeF4,但是,当相同问题出现在STM32F0上时,使用之前的代码修改并不能适用,这也就是本文的目的所在。
文档说明:客户反应使用我们的STM32F446 的CEC 库的时候,输出的数据和数据长度始终不匹配,跟电视通信不正常,如果输出的数据始终比长度多一个字节.客户试着按字节数减一去做输出,但是又不能输出一个字节的情况.
文档说明:在很多低功耗应用中都需将MCU 进入STOP MODE 以节省更多的功耗,但是在以前的架构中,如果要达到这种应用,只能在进入低功耗模式之前将串口的管脚设置成普通的GPIO 的中断模式,虽然也可以达到效果,但是这样会丢失第一个字节.所以我们现在可以使用新的LPUART,这样不仅可以把MCU 从STOP mode 下,还可以不丢失第一个数据,但是还是有一定限制和使用方法的.下面我们将详细介绍一下。
文档说明:在STM32 的系列产品中,很多型号都带有USB 接口,为使用USB 来进行代码升级提供了便利。这些型号中又有很大一部分可以通过内部System Memory 中的Bootloader 直接进行USB DFU 升级,具体哪些型号支持USB DFU,可参考应用笔记AN2606《STM32 微控制器系统存储器自举模式》。有些型号虽然有USB,但是System Memory 中的Bootloader 并没有支持USB DFU,比如STM32F102 / STM32F103、或者Bootloader V2.x 的
文档说明:客户使用STM32F429系列MCU,存储介质有两种,分别为SDIO连接TF-card,SPI Flash,目的是通过1个usb口连接到PC后,能够看到两个盘符,PC能够分别对TF-card和SPI Flash进行读写操作。
文档说明:客户使用I2C对EEPROM进行读取操作时,正常读取的最后一个字节,主机会传送一个NACK给EEPROM,以便结束该次读取过程,如果主器件给出ACK,而程序又默认结束读取过程,会出现EEPROM认为主机还需要读取数据,但此后SCL的时钟不会给出,将导致I2C总线被挂起占用,此时START,STOP命令将不会再次成功送出信号;本文针对这个异常状况结合实际应用问题给出处理方法。
文档说明:在向客户推STM32F4芯片的时候,客户反馈使用CDC类无法发送64个字节,于是通过深入研究问题,发现问题之所在,到解决问题。本文将基于STM32F4DISCOVERY板,一步步重现问题,一方面介绍如何使用USB的CDC类进行开发,另一方面,对在开发过程中碰到发送64整数倍数据时会失败的问题分析及解决方案。
文档说明:Demo 程序中,HID 和 Audio 单独运行都不会有问题,把 HID 和 Audio 整合在一起,同进传送数据时,会出现Audio 不能传送数据的情况。
文档说明:本文介绍的是NTP客户端,NTP协议是TCP/IP协议中的应用层协议。NTP的全称是Network Time Protocol, 它是用来同步网络中个计算机的时间的协议。它的目的是在国际互联网上传递统一、标准的时间。具体的实现方案是在网络上指定若干时钟源网站,为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。
文档说明:本文将针对客户在使用Cube库时CAN2不能产生接收中断进行分析。
文档说明:bxCAN是STM32系列最稳定的IP核之一,无论有哪个新型号出来,这个IP核基本未变,可见这个IP核的设计是相当成熟的。本文所讲述的内容属于这个IP核的一部分,掌握了本文所讲内容,就可以很方便地适用于所有STM32系列中包含bxCAN外设的型号。有关bxCAN的过滤器部分的内容在参考手册中往往看得“不甚明白“,本文就过滤器的4种工作模式进行详细讲解并使用具体的代码进行演示,这些代码都进行过实测验证通过的,希望能给读者对于bxCAN过滤器有一个清晰的理解。
文档说明:本篇LAT的内容简介 如何应用ST USB HID(MOUSE)例程,生成一个可以输入和输出任何长度小于等于64字节的例程。
文档说明:某客户的产品,需要评估NUCLEO-F746ZG板上的USB功能,使用cube Version 4.15.1 版本工具生成工程,但在win7和win10上遇到驱动不正确。
文档说明:最近有客户反映STM32F103进入STOP模式后无法通过串口唤醒。
文档说明:客户在做USB通讯的时候,基本的需求就是发送某些数据到USB host端,同时接收一些数据从USB Host端,那么如何快速的建立一个工程并验证数据是否正确呢?下边我们就结合STM32F072的评估板(其他的STM32xx系列的实现方式都是类似的)来快速实现一个简单的数据收发实验。
文档说明:客户反馈在使用STM32F205的串口工作在DMA模式时,有时能够接收数据,有时完全没有数据,但如果换成中断模式来接收又能100%正常收到数据。
文档说明:客户在产线批量生产测试uart的时候,发现有一部分出现了如noise detect,framing err等异常状态进入中断处理。
文档说明:本文将针对客户无法使用内置Bootloader的DFU方式进行固件升级的问题进行分析。
文档说明:学习了STM8的CAN总线的IdMask模式。在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时-根据标识符的值决定软件是否需要该报文;如果需要,就拷贝到RAM里;如果不需要,报文就被丢弃且无需软件的干预。为满足这一需求,beCAN为应用程序提供了个可配置的、位宽可变的6个(0-5)过滤器组,用于只接收那些软件需要的报文。硬件过滤的做法节省了CPU开销,否则就必须由软件进行过滤,从而占用一定的CPU资源。
文档说明:STM32 NUCLEO开发平台是ST最新发布的易用性好、可扩展性佳的低成本平台。开发平台具有mbed功能支持Arduino接口,同时还提供ST Morpho扩展排针,可连接微控制器的所有周边外设,可以利用Arduino巨大生态系统优势,便于快速实现STM32学习和评估! 这儿我们评估它的CAN外设功能。
文档说明:此问题由客户工程师提出,客户在使用STM32F103 的USART 做串口通讯时,发现了一个问题,当设备正常通信一段时间后,串口不响应外部的通信请求了。
文档说明:LwIP在lwipopts.h和opt.h头文件中提供了多个配置选项。用户可以根据不同的性能需求和不同应用的内存限制对协议栈用到的内存配置进行调节。Opt.h头文件中包括协议使能和设置,内存设置,调试选项等等。而Lwipopts.h头文件中集合了opt.h中一些常常需要改动的部分。一般情况下用户对lwipopts.h头文件进行修改就可以了。不管是对lwipopts.h还是opt.h进行修改,都必须保证是在已经对你所改动的内容足够的了解的情况下进行,所做的改动是正确的,否则有可能导致协议栈不能正常工作,或者
文档说明:USB作为从机设备时,管脚连接以及通讯的验证方法其实就是下载一段简单USB程序,在不需要任何驱动的前提下实现简单的USB通讯。通过这个简单程序的运行情况来判断USB管脚和通讯是否正常。
文档说明:此问题由某客户提出,应用处理器AP 与MCU 进行I2C 通信,通信会经常发生异常,需要定位原因.
文档说明:客户使用STM32F091的USART工作于smartcard模式用于7816通讯,发现不正常。本篇LAT的内容简介了STM32F0中关于USART中Smartcard模式的Guard Time的设置。
文档说明:该问题在不同客户使用不同芯片的SPI功能时都曾经提到。主要现象是slave端接收到的数据时有移位现象,例如0x10接收成0x08。此种移位一旦发生,当前通讯的后续数据也都发生了移位。
文档说明:在STM32的众多外设中,以太网这个外设相对而言还是比较复杂,初始化的过程也比较复杂,涉及到MAC,DMA,PHY好几块内容的初始化。可能有时候datasheet都看得头疼了,可初始化还是有问题。而STM32CubeMX工具就可以帮我们轻松完成这部分工作。在本文中,将分别以STM3220G-EVAL板为例,通过CubeMXv4.11来新建一个基于RAW API的TCPEchoServer的工程。
文档说明:该问题由某客户提出,发生在 STM32F103R8T6 器件上。据其工程师讲述:其产品中设计中,STM32 与一颗 MPEG 解码芯片通过I2C接口通信。其中,STM32 为 SLAVE节点,而 MPEG 解码芯片为 MASTER 节点。在产品调试过程中,发现该通信不可靠。在系统运行一段时间后,该通信会出现故障而导致整个系统死机。使用示波器测量,发现这时I2C总线的 SCL 信号持续为低电平。
文档说明:该问题客户提出,发生在STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了STM32 片上Flash 模拟了一个EEPROM 的功能,用于存贮数据。在软件调试时,发现开启此功能,会影响到USART 通信,导致偶尔发生个别数据接收不到的现象。
文档说明:某客户使用 STM32F4 的 OTG 库做 USB 主机控制 Wifi 网卡。使用 BULK 传输类型时,从数据读取数据时, 如果设备返回需要把设备返回的 NAK 状态告知上层应用,该如何修改OTG 库。
文档说明:该问题由某客户提出,发生在STM32F407IGT6 器件上。据其工程师讲述:在其产品设计中使用了STM32 的以太网接口进行通信。在软件最初的调试中,该接口工作正常。后来为了满足软件对内存容量的需求,启用了STM32 的CCM 存贮器,但启用后发现以太网接口不能通信。
文档说明:某客户工程师在其产品的设计中,使用了 STM32F205VET6。据其工程师讲述:他使用 ST 的USB 固件库中的VCP例程来实现虚拟串口的功能,但是他发现虚拟串口一次输出的数据(从串口到上位机)如果超过2Kbytes 就会造成数据丢失,只输出尾部的2Kbytes。客户工程师检查代码发现USB 的FIFO 大小由宏定义APP_RX_DATA_SIZE 决定,而APP_RX_DATA_SIZE 的大小刚好为2Kbytes。所以他认为此FIFO设计太小而造成的,于是他将FIFO 的大小改成5Kbyte,不过
文档说明:该问题由某客户提出,发生在 STM32F205VCT6 器件上。据其工程师讲述:为了实现产品的设计中使用 STM32 的 USB OTG 接口,作为其产品的一个通用 USB 接口来用。在其产品小批量试产后,发现 STM32 的 USB OTG 接口在其产品的使用过程中易损坏。
文档说明:某客户工程师在某型号新产品的设计中,使用了 STM32 器件,型号为:STM32F103VDT6。据其工程师 讲述:为了实现产品的某项设计要求,他想要通过 USART1 以 600BPS 的波特率与另一颗器件进行通 信。通过编写程序测试发现,该通信接口未能工作在 600BPS 的波特率上,而是工作在一个较高的波 特率上,大约在 1600BPS。更改波特率设定,将波特率设定改为 1200BPS 时,该接口能够工作在设定 的波特率上。
文档说明:在某些串行工业总线协议中,如 Profibus,每帧发送的数据长度不定,导致接收方在接收数据时无法确定帧的结束点。
文档说明:该问题由某客户提出,发生在 STM32F103VCT6 器件上。据其工程师讲述:在其产品的设计中要使用 STM32 的 STOP 低功耗模式。而在使 STM32 进入 STOP 模式之前,需要对整个系统做一些设置工作, 其中一项工作是通过 USART3 向某个功能模组发送一个命令报文。在实测中发现,该报文没有发全, 总是缺少最后一个字节。
文档说明:该问题由某客户提出,发生在 STM8S105C6T6 器件上。据其工程师讲述:当他所撰写的程序不使用奇偶 校验的时候,程序工作是正常的;但是当他把奇偶校验改成偶检验 EVEN时,程序无法正常工作;现象为:一、不管上位机发送的数据是不带校验位的,还是带奇偶校验位的,STM8S 都可以正常地接收到数据;二、当奇偶校验位使能后,接收到的数据再返回上位机,显示的数据不一定是正确的。
文档说明:某客户反映使用STM8L的IIC的库的DEMO,master和slave通信,使用IIC1的端口PC0与PC1,并分别上拉接4.7k的电阻至3.3V,主机的SCL与从机的SCL相连,SDA也一样,但是slave一直没有应答,想不明白原因,波形客户看了认为没有问题,就是没有应答,不知道原因是什么,IIC速度给的都是100K。
文档说明:某客户反映新换成STM8L的单片机,UART配置后,利用库函数软件代码,无法正常接收正确的数据。客户对照波形,初步判断是起始位的问题。为了能测出STM8L能够识别的起始位前面的最短高电平,对客户发送的数据进行了模拟,不断调整起始位前面的高电平宽度,最后发现高电平宽度>=21uS的时候STM8L可以正常接收数据。
文档说明:OSI 的7 层基准模型中PHY 属于第一层 ——物理层。PHY是数据链路层的媒体访问控制部分和媒体的接口。PHY对所有传输的数据只是进行编码转化,没有对有效数据信号进行任何分析或改变,但是MAC 所有的数据传输都必须经过PHY 发送和接收才能传输到目标MAC。PHY 还可以完成连接判断,自动协商以及冲突检测。MAC 可以通过修改PHY 的寄存器完成对自动协商的监控,当然也可以读取PHY 的寄存器来判断PHY 的状态。
文档说明:STM32Fxx7 系列(互联型产品)中内置了MAC,配合外置的 PHY可以实现以太网通讯。这篇文档将介绍以太网接口的信号定义,重点介绍时钟电路的设计,并给出在实践中已成功应用的设计方案,希望可以对需要进行以太网电路设计的朋友提供帮助。
文档说明:很多朋友反映 ST 官网的例程 stsw-stm32060(也就是 STM32F2x7 的以太网例程)中的 FreeRTOS 驱 动有问题,表现为在网络压力测试下向 STM32 进行 ping测试,过段时间后会出现无法恢复的网络延时,甚至出现 ping 不通(网络不通的情况,注意不是超时)。
文档说明:该问题由某客户提出。据其工程师描述:其产品设计中,使用了 STM32F103VDT6 器件。该器件的 SPI2 通信接口外接一个 EEPROM,在其进行软件调试时,发现当程序发起对 EEPROM 的读写 时会导致 STM32 死机。
文档说明:该问题由某客户提出,发生在 STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了 STM32 的 SPI3 接口连接到一个串行 EEPROM。在软件调试时,发现该接口没有信号送出。
文档说明:某客户使用 STM32F2 的 OTG 库中的 U 盘主机例程在连接 U 盘时,有些 U 盘不能识别,甚至出现操作死机的情况。现就针对版本 V2.1.0 的 USB 主机库中的 MSC Host 例程做一些修改,以能够兼容更U盘。
文档说明:该问题由某客户提出,发生在 STM32F405RGT6 器件上。据其工程师讲述:STM32F405RGT6 作为主机向 从机做 Bulk_Receivdata()传输,每次收到 NAK 时,主机会每隔 5us 左右重新发起 TokenIn,从机在这 段时间内没有准备好数据,所以依然发送 NAK。客户想在 200us 左右发起 IN 令牌,这样给从设备以准 数据的时间(实际数据的准备时间预计为 300us 左右)。
文档说明:某客户用STM32F051的芯片做了一个自动波特率的实验(代码是仿照ST库里面的例子写的),用串口发送数字键的ASCII码,在接收端只有奇数ASCII被确认。
文档说明:该问题由某客户提出,发生在 STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了 STM32 的一个 I2C 接口与一个 EEPROM 通信。在系统可靠性测试中发现,经过长时间运行后,STM32 会 出现不能读写 EEPROM 的现象。通过 NRST 管脚对 STM32 进行复位,复位后该现象依旧存在。关掉电 源,然后重新上电,现象消失。通过进一步测试发现,如果对 STM32 反复做复位操作,会很容易复现 这一现象。
文档说明:本篇LAT从控制传输的角度解析了运行在“USB FS IP”这款USB模块上的全速USB设备库的结构和用法。
文档说明:某客户使用STM32F103的USB模块做设备时和上位机PC连接时碰到一个问题:PC端驱动已经固定好,是对下位机USB设备上的地址编号为0x0A和0x0B的两个端点通信,从0x0A端点读取数据,向0x0B端点写数据。而STM32F103的USB模块只有8个双向端点,能否支持这样的寻址。